# -*- coding: utf-8 -*-#
#-------------------------------------------------------------------------------
# 建立者:        Young  
# Name:         demo5.08
# Description:
# Author:       $赵怡蕾
# Date:         2019/2/14
#-------------------------------------------------------------------------------

# 从matho模块导入pi
from math import pi
# 让圆周率PI保留小数点后3位数，并在长度为12的区域输出，前面补零
# 运行结果：00000003.142
print("{pi:012.3f}".format(pi = pi))
# 从控制台输入一个数值，表示章节的位数，假设本例输入的是4
numStr = input("请输入章节序号的位数：")
# 将输入的字符串转换为整数
num = int(numStr)
# 格式化输出章节序号，其中章的序号宽度使用了从控制台输入的值，节的序号宽度使用了3
# 运行结果：
print("第{:0{num}.0f}章，第{:03.0f}节".format(1,2,num = num))
# 以左对齐，中对齐和右对齐方式在宽度为10的区域显示圆周率PI，不足位补空格
print('{0:<10.2f}\n{0:^10.2f}\n{0:>10.2f}'.format(pi))
# 在宽度为20的区域居中显示“美元”，并在“美元”两侧显示“$”
# 运行结果：$$$$$$$$$美元$$$$$$$$$
print("{:$^20}".format("美元"))
# 在宽度为20的区域左侧显示“人命币”，并在“人命币”右侧显示“￥”
# 运行结果： 人命币 ￥￥￥￥￥￥￥￥￥￥￥￥￥￥￥
print("{:￥<20}".format(" 人命币 "))
# 在宽度为10的区域显示圆周率PI的负数形式，并保留小数点后2位
# 通过等号(=)设置了负号(-)和PI直接显示的字符，默认是空格
# 运行结果：-     3.14
print("{0:=10.2f}".format(-pi))
# 从控制台输入一个符号，该符号会填充负号(-)和PI之间的区域，假设本例输入的是“%”
sign = input("请输入在数值前面输出的符号：")
# 通过等号（=）设置在负号和PI之间填充的符号
# 运行结果：-%%%%%3.14
print("{0:{sign}=10.2f}".format(-pi,sign = sign))
# 从控制台输入一个十进制整数，假设本例输入的是17
numStr = input("请输入要转换为二进制和十六进制的数：")
num = int(numStr)
# 将十进制整数转换为二进制整数，运行结果：10001
print("{:b}".format(num))
# 将十进制整数转换为二进制数，前面加“0b”，运行结果：0b10001
print("{:#b}".format(num))
# 将十进制整数转换为十六进制数，运行结果：11
print("{:x}".format(num))
# 将十进制整数转换为十六进制数，前面加“0x”，运行结果：0x11
print("{:#x}".format(num))
